
package com.tyk.bookstore.back.payment.service;

import com.tyk.bookstore.back.payment.manager.excel.model.AmountLogExcelVo;
import com.tyk.bookstore.back.payment.model.query.AmountLogAddQuery;
import com.tyk.bookstore.back.payment.model.query.AmountLogPageQuery;
import com.tyk.bookstore.back.payment.model.query.AmountLogUpdateQuery;
import com.tyk.bookstore.back.payment.model.vo.AmountLogPageVo;
import com.tyk.bookstore.back.payment.model.vo.AmountLogVo;

import java.util.List;
import java.util.Set;

/**
 * @author tyk
 * @description 系统余额变更日志
 */
public interface AmountLogService {

    /**
     * 根据系统余额变更日志ID获取系统余额变更日志详情
     *
     * @param id 系统余额变更日志ID
     * @return 系统余额变更日志详情
     */
    AmountLogVo getById(Long id);

    /**
     * 分页查询系统余额变更日志
     *
     * @param query 查询参数
     * @return 系统余额变更日志列表
     */
    AmountLogPageVo getPage(AmountLogPageQuery query);

    /**
     * 添加系统余额变更日志
     * @param query 系统余额变更日志信息
     */
    void add(AmountLogAddQuery query);

    /**
     * 更新系统余额变更日志
     * @param query 系统余额变更日志信息
     */
    void updateById(AmountLogUpdateQuery query);

    /**
     * 根据ID删除系统余额变更日志
     * @param id 系统余额变更日志ID
     */
    void deleteById(Long id);

    /**
     * 根据ID批量删除系统余额变更日志
     * @param idSet 系统余额变更日志ID集合
     */
    void deleteBatchByIdSet(Set<Long> idSet);

    /**
     * 获取Excel导出数据
     *
     * @param query 同分页查询参数
     * @return Excel导出数据
     */
    List<AmountLogExcelVo> getAmountLogExcelVoList(AmountLogPageQuery query);
}

